Sub AdressesCurrentRegion(NomFeuille As String, CelluleDebut As String, ByRef ligDebut As Long, ByRef ligFin As Long, ByRef colDebut As Long, ByRef colFin As Long) 'Retourne les limites de la région dans les variables ligDebut, ligFin, colDebut et colFin ' du programme principal, quelque soit leur nom réel dans le programme principal. 'CelluleDebut est de la forme "A1" et peut être n'importe quele cellule de la région 'L'utilisateur peut utiliser un objet WorkSheet au lieu du nom de la feuille (Feuille As WorkSheet au lieu de NomFeuille As String) Dim i As Integer, s As String, t As String Dim lig As Long, col As Long Dim email As String, Coordonnees As String Dim Feuille As WorkSheet 'A supprimer si on a envoyé l'objet Feuille Dim CRLigDebut As Long, CRLigFin As Long, CRcolDebut As Long, CRcolFin As Long Set Feuille = WorkSheets(NomFeuille) 'A supprimer si on a envoyé l'objet Feuille Feuille.Activate Feuille.Range(CelluleDebut).Select Coordonnees = Selection.CurrentRegion.Address 'MsgBox Coordonnees lig = InStr(2, Coordonnees, "$") s = Mid(Coordonnees, 2, lig - 2) CRcolDebut = 0 For i = 1 To Len(s) CRcolDebut = CRcolDebut * 26 t = Mid(s, i, 1) CRcolDebut = CRcolDebut + Asc(t) - Asc("A") + 1 Next col = lig + 1 lig = InStr(col, Coordonnees, ":") CRLigDebut = CLng(Mid(Coordonnees, col, lig - col)) col = lig + 2 lig = InStr(col, Coordonnees, "$") s = Mid(Coordonnees, col, lig - col) CRcolFin = 0 For i = 1 To Len(s) CRcolFin = CRcolFin * 26 t = Mid(s, i, 1) CRcolFin = CRcolFin + Asc(t) - Asc("A") + 1 Next col = lig + 1 CRLigFin = CLng(Mid(Coordonnees, col)) ligDebut = CRLigDebut ligFin = CRLigFin colDebut = CRcolDebut colFin = CRcolFin 'MsgBox CRligDebut & " " & CRcolDebut & " " & CRligFin & " " & CRcolFin Set Feuille = Nothing 'A supprimer si on a envoyé l'objet Feuille End Sub